package homework0712;

import java.util.*;

public class HomeWork {
    /**
     * 1. 现在有一个map集合如下：
     * Map<Integer,String> map = new HashMap<Integer, String>();
     * map.put(1, "Amy");
     * map.put(2, "Joe");
     * map.put(3, "Tom");
     * map.put(4, "Susan");
     * 要求：
     * 1.遍历集合，并将序号与对应人名打印。
     * 2.向该map集合中插入一个编码为5姓名为控制台输入的人名的信息
     * 3.移除该map中的编号为4的信息
     * 4.将map集合中编号为3的姓名信息修改为"Tommy"
     * 5.再次遍历经过上述操作后的集合，并将序号与对应人名打印。(注：第一次输出和第二次输出需用空行隔开)
     * <p>
     * @param args
     */
    Scanner scanner = new Scanner(System.in);
    private static Map<Integer, String> map = new HashMap<Integer, String>();

    public static void main(String[] args) {
        HomeWork homeWork = new HomeWork();
        map.put(1, "Amy");
        map.put(2, "Joe");
        map.put(3, "Tom");
        map.put(4, "Susan");
        // 1.遍历集合，并将序号与对应人名打印。
        homeWork.print();
        //2. 向该map集合中插入一个编码为5姓名为控制台输入的人名的信息
        homeWork.add(5);
        //3.移除该map中的编号为4的信息
        homeWork.delete(4);
        //4.将map集合中编号为3的姓名信息修改为"Tommy"
        homeWork.revise(3, "Tommy");
        //5.再次遍历经过上述操作后的集合，并将序号与对应人名打印。(注：第一次输出和第二次输出需用空行隔开)
        homeWork.print();
        System.out.println();
    }

    //修改
    public void revise(int key, String name) {
        boolean find = map.containsKey(key);
        if (find) {
            map.put(key, name);
            System.out.println("已经将map集合中编号为" + key + "的姓名信息修改为" + name);
        } else {
            System.out.println("没找到");
        }
    }

    //删除
    public void delete(int key) {
        map.remove(4);
        System.out.println("已经移除该map中的编号为" + key + "的信息");
    }

    //添加
    public void add(int key) {
        System.out.println("\n输入一个编号为" + key + "添加对应的姓名");
        String iptName = scanner.next();
        map.put(key, iptName);
        System.out.println("已经插入一个编码为:" + key + ",姓名为:" + iptName);
    }

    //打印
    public void print() {
        for (Object key : map.keySet()) {
            System.out.print(key + ":" + map.get(key) + " ");
        }
    }
}
